package com.elink.enginerring.domain;

import io.swagger.annotations.ApiParam;

import java.util.Date;
import java.util.List;

/**
 * 论文
 * @author hxjxiaojun
 * @time   2016年10月14日
 */
public class Thesis {
	
    @ApiParam(value="主键,更新的时候为必填项，增加时不需要该字段",required=false)
    private String thesisId;  //主键
    
    @ApiParam(value="一级分类Id",required=true)
    private Integer tcId;   //一级分类id
    
    @ApiParam(value="二级分类Id",required=true)
    private Integer scId; //二级分类id
    
    @ApiParam(value="三级分类Id",required=true)
    private Integer dcId; //三级分类id
    
    @ApiParam(value="论文类型",required=true)
    private Integer typeId; //论文类型
    
    @ApiParam(value="论文名称",required=true)
    private String name; //论文名称
    
    @ApiParam(value="论文大小",required=true)
    private Float size;//论文大小
    
    private Date uploadTime; //上传时间

    private Integer downloadCount; //下载数
    
    @ApiParam(value="论文标签ids，比如'1,2,3'",required=true)
    private String labelIds; //标签ids

    private Integer collectionCount;  //收藏数
    
    @ApiParam(value="论文价格",required=true)
    private Float price;  //论文价格
    
    @ApiParam(value="用户Id",required=true)
    private String userId;  //用户id
    
    @ApiParam(value="下载路径",required=true)
    private String path;   //下载路径
    
    @ApiParam(value="预览路径",required=false)
    private String previewPath;   //预览路径

    private Integer commentCount;  //评论数

    private Byte authStatus; //审核状态 ，0--审核中，1--审核通过，2--审核未通过

    private Byte deleteStatus;//删除状态 0--未删除 ，1--删除
    
    private int cardinal;//基数
    
    private int browseCount; //浏览量
    
    @ApiParam(value="论文简介",required=true)
    private String introduction;//论文简介
    
    @ApiParam(value="论文来源",required=false)
    private String source;//来源
    
    @ApiParam(value="作者",required=false)
    private String author;//作者
    
    @ApiParam(value="参考文献,用逗号进行分割",required=false)
    private String reference;//参考文献
    
    @ApiParam(value="是否是学位论文 0--不是 1--是，默认为0",required=false,defaultValue="0")
    private int status;//是否是学位论文 0--不是 1--是，默认为0
    
    //关联
    private Type type ;//论文格式 
    
    private List<Label> labelList; //标签
    
    private DetailCategory  detailCategory;//详情分类
    
    public String getThesisId() {
        return thesisId;
    }

    public void setThesisId(String thesisId) {
        this.thesisId = thesisId == null ? null : thesisId.trim();
    }

    public Integer getTcId() {
        return tcId;
    }

    public void setTcId(Integer tcId) {
        this.tcId = tcId;
    }

    public Integer getScId() {
        return scId;
    }

    public void setScId(Integer scId) {
        this.scId = scId;
    }

    public Integer getTypeId() {
        return typeId;
    }

    public void setTypeId(Integer typeId) {
        this.typeId = typeId;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name == null ? null : name.trim();
    }

    public Float getSize() {
        return size;
    }

    public void setSize(Float size) {
        this.size = size;
    }

    public Date getUploadTime() {
        return uploadTime;
    }

    public void setUploadTime(Date uploadTime) {
        this.uploadTime = uploadTime;
    }

    public Integer getDownloadCount() {
        return downloadCount;
    }

    public void setDownloadCount(Integer downloadCount) {
        this.downloadCount = downloadCount;
    }

    public String getLabelIds() {
        return labelIds;
    }

    public void setLabelIds(String labelIds) {
        this.labelIds = labelIds == null ? null : labelIds.trim();
    }

    public Integer getCollectionCount() {
        return collectionCount;
    }

    public void setCollectionCount(Integer collectionCount) {
        this.collectionCount = collectionCount;
    }

    public Float getPrice() {
        return price;
    }

    public void setPrice(Float price) {
        this.price = price;
    }

    public String getUserId() {
        return userId;
    }

    public void setUserId(String userId) {
        this.userId = userId == null ? null : userId.trim();
    }

    public String getPath() {
        return path;
    }

    public void setPath(String path) {
        this.path = path == null ? null : path.trim();
    }

    public String getPreviewPath() {
        return previewPath;
    }

    public void setPreviewPath(String previewPath) {
        this.previewPath = previewPath == null ? null : previewPath.trim();
    }

    public Integer getCommentCount() {
        return commentCount;
    }

    public void setCommentCount(Integer commentCount) {
        this.commentCount = commentCount;
    }

    public Byte getAuthStatus() {
        return authStatus;
    }

    public void setAuthStatus(Byte authStatus) {
        this.authStatus = authStatus;
    }

    public Byte getDeleteStatus() {
        return deleteStatus;
    }

    public void setDeleteStatus(Byte deleteStatus) {
        this.deleteStatus = deleteStatus;
    }

	public int getCardinal() {
		return cardinal;
	}

	public void setCardinal(int cardinal) {
		this.cardinal = cardinal;
	}

	public int getBrowseCount() {
		return browseCount;
	}

	public void setBrowseCount(int browseCount) {
		this.browseCount = browseCount;
	}

	public Type getType() {
		return type;
	}

	public void setType(Type type) {
		this.type = type;
	}

	public String getIntroduction() {
		return introduction;
	}

	public void setIntroduction(String introduction) {
		this.introduction = introduction;
	}

	public List<Label> getLabelList() {
		return labelList;
	}

	public void setLabelList(List<Label> labelList) {
		this.labelList = labelList;
	}

	public Integer getDcId() {
		return dcId;
	}

	public void setDcId(Integer dcId) {
		this.dcId = dcId;
	}

	public DetailCategory getDetailCategory() {
		return detailCategory;
	}

	public void setDetailCategory(DetailCategory detailCategory) {
		this.detailCategory = detailCategory;
	}

	public String getSource() {
		return source;
	}

	public void setSource(String source) {
		this.source = source;
	}

	public String getAuthor() {
		return author;
	}

	public void setAuthor(String author) {
		this.author = author;
	}

	public String getReference() {
		return reference;
	}

	public void setReference(String reference) {
		this.reference = reference;
	}

	public int getStatus() {
		return status;
	}

	public void setStatus(int status) {
		this.status = status;
	}
}